<?php

namespace Sbm;

class EquipmentSearch extends ObjectSearch
{

	/**
	 * Количество записей выбранных в последнем запросе
	 * 
	 * @var <unknown_type>
	 */
	protected $all_rows;

	protected function GetDefaultFilters()
	{
		return array(
			'select' => "`equipment`.*",
			'from' => "`{equipment}` as `equipment`",
		);
	}

	/**
	 * Возврвщает список оборудования в порядке $order_by, с $start по $start+$offset записи
	 * 
	 * @param string $order_by
	 * @param int $start
	 * @param int $offset
	 * @return array
	 */
	function GetList( $order_by, $start, $offset = 50 )
	{
		return $this->GetByFilters(array(
					'orderby' => $order_by,
					'limit' => $start . ',' . $offset,
				));
	}

	/**
	 * Возвращает список объектов Equipment по имени оборудования
	 * @param string $name
	 * @return array
	 */
	function GetByName( $name )
	{
		return $this->GetByFilters(array(
					'where' => "`equipment`.`title` = '" . $this->db->Escape($name) . "'",
				));
	}

	/**
	 * Возвращает новый объект оборудования
	 * Этот метод вызывается при заполнении списка объектов
	 * 
	 * @see includes/ObjectSearch#CreateOneItem($init_array)
	 * 
	 * @param array $init_array
	 * @return Equipment
	 */
	protected function CreateOneItem( $init_array )
	{
		return new Equipment($init_array);
	}

}